/*
 * Global_types.h
 *
 *  Created on: 19.09.2012
 *      Author: Lapchinskiy
 */

#ifndef GLOBAL_TYPES_H_
#define GLOBAL_TYPES_H_
//7.18.1.1  Exact-width integer types
typedef signed char int8_t;
typedef unsigned char uint8_t;
typedef short int16_t;
typedef unsigned short uint16_t;
typedef int int32_t;
typedef unsigned uint32_t;
typedef long long int64_t;
typedef unsigned long long uint64_t;

typedef int8_t i8;
typedef uint8_t u8;

typedef uint16_t u16;
typedef uint32_t u32;
typedef long long int64_t;
typedef unsigned long long uint64_t;

//7.18.1.2  Minimum-width integer types
typedef signed char int_least8_t;
typedef unsigned char uint_least8_t;
typedef short int_least16_t;
typedef unsigned short uint_least16_t;
typedef int int_least32_t;
typedef unsigned uint_least32_t;
typedef long long int_least64_t;
typedef unsigned long long uint_least64_t;

#define TRUE (uint8_t)1
#define FALSE (uint8_t) 0
typedef enum {
	NONE = 0, SYS_TICK, OBTURATOR_SLOPE, COMMAND_RECEIVED, ALL, MAX_EVENT_NUMBER
} EventType;
typedef enum {
	TASK = 0, DRIVER = 1, UART, SENSOR, SCHEDULER
} ModuleType;
typedef struct {
	ModuleType module;
	char* objectName;
	bool logEnable:true;

} LogRecord ;

typedef enum {
	NO_ERR = 0, FAIL = 2
} ErrorCode;

#endif /* GLOBAL_TYPES_H_ */
